Perhaps you get this questions from family and friends. I know I do! Or, perhaps you have stumbled upon this site and are wondering what this site is all about.It's always interesting to me that even in our own profession, craft, diversion, whatever you want to call it, we software testers discuss and debate the question, "What is Software Testing?"
When people ask me what I do, I often say, "I help people find problems in their systems before their customers have to experience them. That saves everyone time and money."
Other definitions could be:
- The act of breaking software to make it better,
- Proving the software works,
- Proving the software meets requirements,
- Proving the software meeting user needs,
- Determining compliance to a standard, and so on.
Here are some definitions from standard sources:
"The process consisting of all life cycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects." (ISTQB)
"The process of operating a system or component under specified conditions, observing or recording the results, and making an evaluation of some aspect of the system or component." (IEEE Std 610-1990)
"The process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the features of the software items." (IEEE Std 829-1998)
These are all fine, and they are all focused on defects and the evaluation of a software product. The ISTQB definition even expands of the idea of software testing to include everything that happens prior to the test (such as test planning and design) and the things that happen after a test, such as test report and test environment restoration.
My value-added definition of software testing, which I often use, is:
"The process of providing meaningful information about software so that management can make informed decisions."
A final though here is that essentially, testing is measurement. We talk about "test metrics" and people say "I don't have time for metrics." However, measurements and metrics are the main deliverable we create! That's something to think about, but don't talk about it at the family reunion.